<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Bar 3D - ECHARTS-GL</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes"> <!-- Fullscreen Landscape on iOS -->
    <link rel="stylesheet" href="./common.css">
</head>
<body>
<div id="main"></div>
<script src="../node_modules/echarts/dist/echarts.js"></script>
<script src="../node_modules/echarts/map/js/world.js"></script>
<script src="../dist/echarts-gl.js"></script>
<script src="lib/jquery.min.js"></script>
<script src="js/commonUI.js"></script>
<script>
    var chart = echarts.init(document.getElementById('main'));

    $.getJSON('./data/population.json', function (data) {

        data = data.filter(function (dataItem) {
            return dataItem[2] > 0;
        }).map(function (dataItem) {
            return [dataItem[0], dataItem[1], Math.sqrt(dataItem[2])];
        });

        chart.setOption({
            backgroundColor: '#cdcfd5',
            toolbox: {
                feature: {
                    saveAsImage: {}
                }
            },
            geo3D: {
                map: 'world',
                shading: 'lambert',
                light: {
                    main: {
                        intensity: 3,
                        shadow: true,
                        shadowQuality: 'high',
                        alpha: 30
                    },
                    ambient: {
                        intensity: 0
                    },
                    ambientCubemap: {
                        texture: 'asset/canyon.hdr',
                        exposure: 2,
                        diffuseIntensity: 1
                    }
                },
                viewControl: {
                    distance: 50
                },
                groundPlane: {
                    show: true,
                    color: '#999'
                },
                postEffect: {
                    enable: true,
                    screenSpaceAmbientOcclusion: {
                        radius: 1,
                        intensity: 1,
                        enable: true,
                        quality: 'high'
                    },
                    depthOfField: {
                        enable: false,
                        focalRange: 10,
                        blurRadius: 10,
                        fstop: 1
                    }
                },
                temporalSuperSampling: {
                    enable: true
                },
                itemStyle: {}
            },
            visualMap: {
                max: 40,
                calculable: true,
                realtime: false,
                inRange: {
                    color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
                },
                outOfRange: {
                    colorAlpha: 0
                }
            },
            series: [{
                type: 'bar3D',
                coordinateSystem: 'geo3D',
                shading: 'lambert',
                data: data,
                barSize: 0.1,
                minHeight: 0.2,
                silent: true,
                itemStyle: {
                    color: 'orange'
                }
            }]
        });
    });

    window.addEventListener('resize', function () {
        chart.resize();
    });

</script>
</body>
</html>
